package com.ntd.study.coding.standards.hjly;

/**
 * @author liuwenju
 * @date 2021/3/24
 */
public class StudyThreadLoac {
    /**
     * 使用ThreadLocal规范
     * 1. 业务代码中使用ThreadLocal，应该使用common-tool中的 AbstractThreadContext工具类
     * 2. 在使用ThreadLocal前，控制器层入口或者业务入口，需要使用 reset方法清空ThreadLocal
     * 3. 要对整个方法做try finally。无论是否有异常抛出都要将再次调用reset方法，保证内存释放
     * 4. 方法内如果调用了异步方法，异步方法中无法获取到当次请求的ThreadLocal。如果需要，要通过方法传参的方式传值
     * 5. 由于Spring的容器特性，ThreadLocal如果不及时释放，会被一直挂起，最后耗光所有服务器资源，导致服务器崩溃，如果要使用需要格外注意！！！
     *
     *
     * @param args
     */
    public static void main(String[] args) {

    }
}
